package com.iuie.ns.datum.service;

import java.io.Serializable;
import java.util.List;

import com.iuie.ns.datum.vo.FileInfoVO;
import com.iuie.ns.datum.vo.FileTagVO;
import com.iuie.ns.frame.service.IBaseService;
import com.iuie.ns.frame.web.dataset.vo.Page;

public interface IFileInfoService  extends IBaseService<FileInfoVO>{

	/**
	 * 查询文件列表
	 * @return 文件列表
	 */
	List<FileInfoVO> queryLst();
	
	/**
	 * 分页查询文件列表
	 * @return 文件列表
	 */
	List<FileInfoVO> queryLst(Page page);
	
	/**
	 * 分页+条件查询文件列表
	 * @return 文件列表
	 */
	List<FileInfoVO> queryLst(Page page,FileInfoVO fileInfo);
	
	/**
	 * 下载文件，更新下载次数
	 * @param fileId 文件ID
	 */
	void downloadFileById(Serializable fileId);
	
	/**
	 * 根据文件标签查找
	 * @param page 分页信息
	 * @param fileTag 文件标签
	 * @return
	 */
	List<FileInfoVO> findByTag(Page page, FileTagVO fileTag);
	
	
	/**
	 * 插入一条记录
	 * @param fileInfo
	 * @return 
	 */
	void addFileInfo(FileInfoVO fileInfo, boolean commit);
}
